package net.wang.concurrency.test.singleton;


import net.wang.concurrency.annoations.ThreadSafe;

/**
 * 单例模式——懒汉模式  实例实在第一次使用时创建
 * 线程是安全的
 */
@ThreadSafe
public class SingletonExample3 {

    private SingletonExample3() {

    }

    private static SingletonExample3 instance = null;

    /**
     * 线程是安全的,但是会影响性能
     *
     * @return
     */
    public static synchronized SingletonExample3 getInstance() {
        if (instance == null) {
            return new SingletonExample3();
        }
        return instance;
    }
}
